<?php

// 设定默认时区
date_default_timezone_set('PRC');

// 项目根目录
defined('ROOT_DIR') or define('ROOT_DIR', dirname(__DIR__));

// 项目配置文件目录
defined('CONFIG_DIR') or define('CONFIG_DIR', ROOT_DIR . '/config');

/**
 * ENVIRONMENT
 *
 *     development
 *     testing
 *     production
 */
$envFile = ROOT_DIR . '/ENVIRONMENT';
$env = 'development';
if (file_exists($envFile)) {
    $envStr = file_get_contents($envFile);
    if (in_array(trim($envStr), array('development', 'testing', 'production'))) {
        $env = trim($envStr);
    }
}
define('ENVIRONMENT', $env);

// 自定义常量配置
$constants = CONFIG_DIR . '/' . ENVIRONMENT . '/Constants.php';
if (file_exists($constants)) {
    require $constants;
} elseif (file_exists($defaultConstants = CONFIG_DIR . '/Constants.php')) {
    require $defaultConstants;
}

// 设定时区
if (defined('TIMEZONE') && !empty(constant('TIMEZONE'))) {
    date_default_timezone_set(constant('TIMEZONE'));
}

// 数据存放目录
defined('DATA_DIR') or define('DATA_DIR', ROOT_DIR . '/data');
defined('LOG_DIR') or define('LOG_DIR', DATA_DIR . '/log');
if (!file_exists(DATA_DIR)) {
    @mkdir(DATA_DIR, 0777, true);
}

// 资源目录
defined('PUBLIC_DIR') or define('PUBLIC_DIR', ROOT_DIR . '/public');
defined('RESOURCE_DIR') or define('RESOURCE_DIR', ROOT_DIR . '/resources');

// Application Version
$versionFile = ROOT_DIR . '/VERSION';
if (file_exists($versionFile)) {
    define('VERSION', @file_get_contents($versionFile));
} else {
    define('VERSION', strtotime(date('Y-m-d')));
}
